// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain

#include "DHT.h"

#define DHTPIN 2     // what pin we're connected to
#define TEMP_RELAY 13
#define HUMY_RELAY 12
#define LUZ_RELAY 11

// Uncomment whatever type you're using!
#define DHTTYPE DHT11   // DHT 11 
//#define DHTTYPE DHT22   // DHT 22  (AM2302)
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

// Connect pin 1 (on the left) of the sensor to +5V
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600); 
  Serial.println("DHTxx test!");
  pinMode(TEMP_RELAY, OUTPUT);
  pinMode(HUMY_RELAY, OUTPUT);
  pinMode(LUZ_RELAY, OUTPUT);
  digitalWrite(LUZ_RELAY, HIGH);
  
  dht.begin();
}
static int relayTempVal = 0;
static int relayHumyVal = 0;


       
        
void loop() {
  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  float h = dht.readHumidity();
  float t = dht.readTemperature();
 

  // check if returns are valid, if they are NaN (not a number) then something went wrong!
  if (isnan(t) || isnan(h)) {
    Serial.println("Failed to read from DHT");
  } else {
      Serial.print("Humidity: "); 
      Serial.print(h);
      Serial.print(" %\t");
      Serial.print("Temperature: "); 
      Serial.print(t);
      Serial.println(" *C");
    if ( t < 28.00 ) {
      digitalWrite(TEMP_RELAY, HIGH);
      relayTempVal = 1;
    } else {
        digitalWrite(TEMP_RELAY, LOW);  
      relayTempVal = 0;
    }
  
    if ( h < 75.00 ) {
      digitalWrite(HUMY_RELAY, HIGH);
      relayHumyVal = 1;
      } else {
        digitalWrite(HUMY_RELAY, LOW);  
        relayHumyVal = 0;
      }
    Serial.print("Calefactor: "); 
    Serial.print(relayTempVal);
    Serial.print(" \t");
    Serial.print("Humidificador: "); 
    Serial.print(relayHumyVal);
    Serial.print(" \t");
  } 
}
